<!doctype html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <link rel="icon" type="image/svg+xml" href="/favicon.ico" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>KITEGO-Admin</title>
        <script type="text/javascript">
            // 同步加载配置（阻塞渲染）
            document.write(`<script src="./config.js?t=${Date.now()}"><\/script>`);
        </script>
    </head>

    <body>
    <div id="app">
        <div class="app-loading">
            <div class="app-loading__logo">
                <img src="/favicon.ico" />
            </div>
            <div class="app-loading__loader"></div>
            <div class="app-loading__title">
                KITEGO-Admin
            </div>
        </div>
        <style>
            .app-loading {
                position: absolute;
                top: 0px;
                left: 0px;
                right: 0px;
                bottom: 0px;
                display: flex;
                justify-content: center;
                align-items: center;
                flex-direction: column;
                background: #fff;
            }

            .app-loading__logo {
                margin-bottom: 30px;
            }

            .app-loading__logo img {
                width: 90px;
                vertical-align: bottom;
            }

            .app-loading__loader {
                box-sizing: border-box;
                width: 35px;
                height: 35px;
                border: 5px solid transparent;
                border-top-color: #000;
                border-radius: 50%;
                animation: .5s loader linear infinite;
                position: relative;
            }

            .app-loading__loader:before {
                box-sizing: border-box;
                content: '';
                display: block;
                width: inherit;
                height: inherit;
                position: absolute;
                top: -5px;
                left: -5px;
                border: 5px solid #ccc;
                border-radius: 50%;
                opacity: .5;
            }

            .app-loading__title {
                font-size: 24px;
                color: #333;
                margin-top: 30px;
            }

            .dark .app-loading {
                background: #222225;
            }

            .dark .app-loading__loader {
                border-top-color: #fff;
            }

            .dark .app-loading__title {
                color: #d0d0d0;
            }

            @keyframes loader {
                0% {
                    transform: rotate(0deg);
                }

                100% {
                    transform: rotate(360deg);
                }
            }
        </style>
    </div>
    <script type="module" src="./src/main.ts"></script>
    </body>
    <div id="versionCheck"
         style="display: none;position: absolute;z-index: 99;top:0;left:0;right:0;bottom:0;padding:40px;background:rgba(255,255,255,0.9);color: #333;">
        <h2 style="line-height: 1;margin: 0;font-size: 24px;">当前使用的浏览器内核版本过低 :(</h2>
        <p style="line-height: 1;margin: 0;font-size: 14px;margin-top: 20px;opacity: 0.8;">当前版本：<span
            id="versionCheck-type">--</span> <span id="versionCheck-version">--</span></p>
        <p style="line-height: 1;margin: 0;font-size: 14px;margin-top: 10px;opacity: 0.8;">最低版本要求：Chrome
            71+、Firefox
            65+、Safari 12+、Edge 97+。</p>
        <p style="line-height: 1;margin: 0;font-size: 14px;margin-top: 10px;opacity: 0.8;">
            请升级浏览器版本，或更换现代浏览器，如果你使用的是双核浏览器,请切换到极速/高速模式。</p>
    </div>
    <script type="text/javascript">
        function getBrowserInfo() {
            const userAgent = window.navigator.userAgent
            const browserInfo = {
                type: 'unknown',
                version: 'unknown',
                userAgent: userAgent
            }
            if (document.documentMode) {
                browserInfo.type = 'IE'
                browserInfo.version = document.documentMode + ''
            } else if (indexOf(userAgent, 'Firefox')) {
                browserInfo.type = 'Firefox'
                browserInfo.version = userAgent.match(/Firefox\/([\d.]+)/)[1]
            } else if (indexOf(userAgent, 'Opera')) {
                browserInfo.type = 'Opera'
                browserInfo.version = userAgent.match(/Opera\/([\d.]+)/)[1]
            } else if (indexOf(userAgent, 'Edg')) {
                browserInfo.type = 'Edg'
                browserInfo.version = userAgent.match(/Edg\/([\d.]+)/)[1]
            } else if (indexOf(userAgent, 'Chrome')) {
                browserInfo.type = 'Chrome'
                browserInfo.version = userAgent.match(/Chrome\/([\d.]+)/)[1]
            } else if (indexOf(userAgent, 'Safari')) {
                browserInfo.type = 'Safari'
                browserInfo.version = userAgent.match(/Safari\/([\d.]+)/)[1]
            } else if (indexOf(userAgent, 'MicroMessenger')) {
                browserInfo.type = 'MicroMessenger'
                browserInfo.version = userAgent.match(/MicroMessenger\/([\d.]+)/)[1]
            }
            return browserInfo
        }

        function indexOf(userAgent, browser) {
            return userAgent.indexOf(browser) > -1
        }

        function isSatisfyBrowser() {
            const minVer = {
                'Chrome': 71,
                'Firefox': 65,
                'Safari': 14,
                'Edg': 97,
                'IE': 999,
                'MicroMessenger': 0
            }
            const browserInfo = getBrowserInfo()
            const materVer = browserInfo.version.split('.')[0]
            return materVer >= minVer[browserInfo.type]
        }

        if (!isSatisfyBrowser()) {
            document.getElementById('versionCheck').style.display = 'block'
            document.getElementById('versionCheck-type').innerHTML = getBrowserInfo().type
            document.getElementById('versionCheck-version').innerHTML = getBrowserInfo().version
        }
    </script>

</html>